专利摘要:
the present invention relates to a method and apparatus for processing transactions. the method comprises: after a transaction processing node receives a transaction request sent by a user, according to a transaction type of a target transaction included in the transaction request, load a transaction model corresponding to the transaction type and process the target transaction according to the transaction model. how the transaction processing node can load a transaction template that can process the target transaction included in the transaction request according to the transaction request sent by the user in the transaction processing process, the blockchain limitation in current technologies where transaction processing is fixed and non-extensible is broken, thus facilitating blockchain-based transaction processing for the user.
公开号:BR112019014589A2
申请号:R112019014589-3
申请日:2018-01-19
公开日:2020-02-18
发明作者:Qiu Honglin
申请人:Alibaba Group Holding Limited;
IPC主号:
专利说明:

SERVICE AND APPLIANCE PROCESSING METHOD
FIELD OF TECHNIQUE [001] This application relates to the field of computer technologies and, in particular, to a method and apparatus for processing transactions.
BACKGROUND OF THE INVENTION [002] Blockchain technologies are also known as distributed accounting technologies. Blockchain technologies have attracted a lot of attention since their inception, due to features such as immutability and decentralization of data stored using these technologies. With the continued development of computer technologies, blockchain technologies will provide people with an increasingly secure data storage environment and convenience for data storage.
[003] In an exemplary application, blockchain technologies are typically used to store transaction information generated in a transaction. However, the emergence of smart contracts further expands the range of blockchain services. A smart contract is typically a segment of codes stored on a blockchain (or a transaction processing node on the blockchain). The execution conditions and transaction processing logic of the smart contract are prescribed in the code segment. Namely, for a transaction processing request, conditions are prescribed to invoke the smart contract and how to process a transaction processing request received after the smart contract is invoked. Therefore, when a user needs to process a designated transaction through a smart contract, the user can send a transaction parameter needed to process the designated transaction to a transaction processing node on a blockchain, leading the transaction processing node to execute the transaction parameter when the transaction parameter is determined for
Petition 870190066689, of 7/15/2019, p. 10/62
2/39 meet an execution condition prescribed by the smart contract and then to complete the job of processing the designated transaction.
[004] For example, when a user needs to process some designated transactions through a smart contract, a smart contract storage address on the blockchain can be carried in a transaction processing request, taking a transaction processing node on the blockchain to determine the transaction parameter and storage address of the smart contract on the transaction processing request blockchain when the transaction processing request is executed. Depending on the storage address, the transaction processing node can call the smart contract stored at the storage address and determine whether the transaction parameter meets the smart contract execution condition. If so, the transaction processing node processes the transaction parameter according to the transaction processing logic pre-prescribed in the smart contract, in order to complete the job of processing the designated transactions.
[005] Due to the characteristic that the data stored on a blockchain is immutable, it is impossible to change a smart contract, once the smart contract is stored on a blockchain. With continuous transaction updates, a smart contract may not be able to support the work of processing new (updated) transactions. In order to allow the smart contract to support the work of processing new transactions, the smart contract must be further developed according to the new transactions and replenished on the blockchain.
[006] Therefore, there is an urgent need for a transaction processing method to solve the blockchain problem that transaction processing methods are not flexibly adaptable to
Petition 870190066689, of 7/15/2019, p. 11/62
3/39 updates for the blockchain transaction.
SUMMARY OF THE INVENTION [007] The modalities of the present application provide a method of transaction processing and apparatus to solve the problem in the blockchain that transaction processing methods are not flexibly adaptable for updates to transactions.
[008] The modalities of this application provide a transaction processing method, comprising:
receive a transaction request;
determine a transaction type for a target transaction included in the transaction request;
load, according to the type of transaction, a transaction model corresponding to the type of transaction; and process the target transaction according to the transaction model and record the transaction information obtained from the processing on a blockchain.
[009] The modalities of this application provide a transaction processing method, comprising:
receive a transaction request and determine a transaction type for a target transaction included in the transaction request;
load, according to the type of transaction, a transaction model corresponding to the type of transaction;
process the target transaction according to the transaction model and record the transaction information obtained from processing in a target block on a blockchain; and when recording the transaction information obtained in the target block, determining and storing a state change value of the target block, the state change value being used to verify that the transaction information recorded in the
Petition 870190066689, of 7/15/2019, p. 12/62
4/39 target block are consistent with transaction information recorded in other blocks on the blockchain.
[010] The modalities of the present application provide a transaction processing apparatus, comprising:
a receiving module configured to receive a transaction request;
a determination module configured to determine a transaction type for a target transaction included in the transaction request;
a model loading module configured to load, according to the type of transaction, a transaction model corresponding to the type of transaction; and a processing module configured to process the target transaction according to the transaction model and record transaction information obtained from processing on a blockchain.
[011] The modalities of the present application provide a transaction processing apparatus, comprising:
a receipt module configured to receive a transaction request and determine a transaction type for a target transaction included in the transaction request;
a model loading module configured to load, according to the type of transaction, a transaction model corresponding to the type of transaction; and a processing module configured to process the target transaction according to the transaction model and record transaction information obtained from processing in a target block on a blockchain; and when recording the transaction information obtained in the target block, determining and storing a state change value of the target block, the state change value being used to verify that
Petition 870190066689, of 7/15/2019, p. 13/62
5/39 the transaction information recorded in the target block is consistent with the transaction information recorded in other blocks on the blockchain.
[012] The above describes at least one technical solution used by the modalities of this application that can achieve the following advantageous effects:
[013] In the modalities of this order, after receiving a transaction request sent by a user, according to a transaction type of a target transaction included in the transaction request, a transaction model that matches the transaction type and the target transaction is processed according to the transaction model. Here, as a transaction processing node can load a transaction model that can process the target transaction included in the transaction request according to the transaction request sent by the user in the transaction processing process, the limitation in the blockchain in current technologies that transaction processing is fixed and non-extensible is broken, thus making blockchain transaction processing more flexible and facilitating blockchain-based transaction processing for the user.
BRIEF DESCRIPTION OF THE DRAWINGS [014] The accompanying drawings to be described here are used to provide a better understanding of the present application and constitute a part of the present application. The exemplary modalities of this application and the description of the exemplary modalities are used to describe this application and are not undue limitations on this application. In the attached drawings:
[015] Figure 1 is a schematic diagram of a transaction processing process according to some of the modalities of this application;
[016] Figure 2 is a schematic diagram of users releasing transaction model installation packages on a transaction platform according
Petition 870190066689, of 7/15/2019, p. 14/62
6/39 with some modalities of this application;
[017] A Figure 3 is one diagram schematic in one process in processing transaction in a deal with some modalities of the present request;[018] A Figure 4 is one diagram schematic in one device in processing transaction in a deal with some modalities of the present request;[019] A Figure 5 is one diagram schematic in one device in
transaction processing in accordance with some modalities of this order.
DETAILED DESCRIPTION [020] To enable the person skilled in the art to better understand the technical solutions of the present invention, the technical solutions in the modalities of the present invention will be described in a clear and complete manner below with reference to the accompanying drawings in the modalities of the present invention. It is obvious that the described modalities are only some, but not all, modalities of the present invention. Based on the modalities of the present invention, all other modalities that can be obtained by those skilled in the art without creative effort will fall within the scope of the present invention.
[021] Figure 1 is a schematic diagram of a transaction processing process according to some embodiments of the present invention, comprising the following steps:
[022] S101: receive a transaction request.
[023] In the embodiments of the present invention, an entity implementing the embodiments of the present invention may be a transaction processing node. The transaction processing node here is equipped with blockchain processing technology, that is, the transaction processing node
Petition 870190066689, of 7/15/2019, p. 15/62
7/39 transaction is able to process blockchain transactions. So, S101 can be interpreted as the transaction processing node that receives a transaction request.
[024] The transaction request can be interpreted as being sent by a user to the transaction processing node via a terminal device (the terminal device here can be interpreted as a mobile terminal, a PC terminal, etc.), or it can be considered as being sent by a server that has received a transaction request sent by a user (the server may be equipped with blockchain processing technology and capable of transmitting data with the transaction processing node), or it can even be interpreted as being sent by a server not equipped with blockchain processing technology to the transaction processing node after the server receives a transaction request sent by a user, which is not limited by the modalities described here .
[025] For example, in a process of carrying out transaction processing, a user can enter corresponding transaction data in a terminal, such as a computer, a cell phone, etc., to trigger a transaction request. For example, when the user needs to perform a transfer transaction, the user can enter a transfer amount and a transfer recipient to a terminal, where the transfer amount and transfer recipient entered by the user and the transfer initiator ( that is, the user) may constitute transaction data for the user's transfer transaction. The user then sends the transaction request that transports the transaction data comprising the transfer amount, the transfer recipient and the transfer initiator to a transaction processing node. For another example, when a user needs to store data on a blockchain, the user can insert the data into a
Petition 870190066689, of 7/15/2019, p. 16/62
8/39 terminal, where the data is transaction data from the data storage transaction entered by the user and then the user sends a transaction request that transports the transaction data including data to be stored in a processing node transaction. The way in which the user sends the transaction request to the transaction processing node is not limited by the modalities described here.
[026] For another example, when a terminal detects that a user performs a designated operation (for example, by clicking on a designated control displayed on the terminal interface, etc.), the terminal can determine the user's transaction data entry in the terminal and generate a corresponding transaction request according to the transaction data and send the transaction request to a transaction processing node, causing the transaction processing node to receive the transaction request and process a target transaction included in the transaction. transaction request in a subsequent process. The way in which the user sends the transaction request to a transaction processing node is not limited by the modalities described here.
[027] It should be noted that in the transaction processing process in the modalities of the present invention, a user can enter corresponding transaction data in a terminal and can also enter the transaction data in a designated application installed on the terminal. Correspondingly, after the user has entered transaction data, the designated application can generate a corresponding transaction request. Then, when an operation designated by the user is detected (for example, clicking on a designated control, etc.), the designated application can send the transaction request to a transaction processing node.
[028] S102: determine a transaction type for a target transaction included in the transaction request.
Petition 870190066689, of 7/15/2019, p. 17/62
9/39 [029] After the transaction processing node receives the transaction request sent by the user through the terminal, the transaction processing node can further determine a transaction type of a target transaction included in the transaction request. This action is provided for the following purpose: in the modalities of the present invention, the transaction models are pre-stored in the transaction processing node and different transaction models correspond to different transaction processing jobs, therefore, after the transaction processing node transaction receives the transaction request sent by the user, the transaction processing node needs to determine which transaction model of pre-stored transaction models is capable of processing the target transaction included in the transaction request. The transaction processing node usually stores transaction templates corresponding to the transaction types. Therefore, in the process of determining which transaction model is capable of processing the target transaction included in the transaction request, the transaction processing node can determine the transaction type of the target transaction and determine the transaction model corresponding to the transaction type. . According to the pre-stored relationship between the transaction types and transaction models, in addition to processing the target transaction included in the transaction request through the transaction model in the subsequent process.
[030] In one example, after the transaction processing node receives the transaction request sent by the user, the transaction processing node can determine a transaction identifier of the target transaction included in the transaction request and determine the type of transaction of the target transaction according to the transaction identifier, where the transaction identifier can be a number chain and part of the number chain is a transaction code capable of representing the target transaction. For example, in the
Petition 870190066689, of 7/15/2019, p. 18/62
10/39 transaction # 244340923, # 2 is a transaction code code that represents a target transaction. The transaction identifier can also be in other forms. For example, when the transaction request comprises transfer type characters, transfer type is the transaction identifier of the target transaction included in the transaction request.
[031] It should be noted that the transaction models pre-stored in the transaction processing node according to the modalities of this request can be built through the API and stored in the transaction processing node.
[032] S103: Load, according to the type of transaction, a transaction model corresponding to the type of transaction.
[033] In the modalities of this application, the transaction templates corresponding to various types of transactions are pre-stored in the transaction processing node. Therefore, after the transaction processing node receives the transaction request sent by the user, the transaction processing node can load, according to the determined transaction type corresponding to the target transaction included in the transaction request, a corresponding transaction model. the transaction type of the pre-stored transaction templates. Then, in the subsequent process, the transaction processing node can process the target transaction using the transaction model.
[034] For example, assuming the user initiates a transfer request (that is, a transaction request) to the transaction processing node, after the transaction processing node receives the transfer request, the processing node You can review the transfer request and determine that the type of transaction corresponding to the transfer order is a transfer transaction. Then, the transaction the transaction processing node determines and loads a transfer model that
Petition 870190066689, of 7/15/2019, p. 19/62
11/39 corresponds to the transfer transaction (that is, the type of transaction) of the pre-stored transaction templates. In the subsequent process, the transaction processing node processes the transfer request using the transfer model.
[035] After the transaction processing node determines the transaction type of the target transaction included in the transaction request, the transaction processing node discovers that there is no transaction model that matches the transaction type in the pre transaction models -configured. That is, none of the transaction models is capable of processing the target transaction included in the transaction request. Then, the transaction processing node can generate a transaction model capable of processing the target transaction according to the transaction code entered by the user, and then process the target transaction using the generated transaction model.
[036] In one example, when the transaction processing node receives a transaction request sent by a user, the transaction processing node determines that there is no transaction model matching the transaction request in the preconfigured transaction models . The transaction processing node can then remind the user that the target transaction included in the transaction request cannot be processed. When the user sees the reminder, the user can compile a transaction code needed to process the target transaction on the transaction processing node for the target transaction and the transaction processing node can generate a corresponding transaction model according to the code transaction entered by the user. The transaction processing node can then load the generated transaction model and process the target transaction.
[037] In an example application, data formats that can be read by different transaction models are typically different. Therefore, after
Petition 870190066689, of 7/15/2019, p. 20/62
12/39 the transaction processing node receives a transaction request sent by a user in the modalities of this request, the transaction processing node can also read the transaction request sequentially through the pre-stored transaction templates. When the transaction processing node is able to read the transaction request using a transaction model (that is, the data format of the transaction request corresponds to the transaction model), the transaction processing node can process the target transaction included in the transaction request via the transaction template in the subsequent process.
[038] As the data on a transaction processing node can be changed, the pre-stored transaction templates on the transaction processing node can be updated and adjusted. Therefore, when a transaction is continuously updated, a user can update the transaction templates on the transaction processing node. The user does not need to develop a transaction model again, but only perform updates and adjustments based on the original transaction models, to allow the transaction models to support the updated transaction, significantly improving the efficiency of maintaining the transaction.
[039] However, as the data stored on the blockchain is immutable, the use of a blockchain by the user to store data will effectively guarantee the security of the data storage, thus providing an advantageous verification base for the subsequent data verification by the user. On the other hand, data immutability also leads to drawbacks in processing transactions for a blockchain, and one of the most significant problems is that smart contracts that currently support expansion of the blockchain transaction are typically stored on the blockchain and therefore smart contracts may not be updated with ongoing transaction updates. For
Petition 870190066689, of 7/15/2019, p. 21/62
13/39 allow smart contracts to support the work of processing new transactions, the user needs to develop the smart contracts again and save the revised smart contracts on the blockchain. Therefore, continuous transaction updates will inevitably force the user to continue developing smart contracts, thus resulting in a significant inconvenience in maintaining the transaction for the user.
[040] In the modalities of the present invention, all transaction models for processing multiple target transactions can be pre-stored in a transaction processing node, instead of being stored in the blockchain. Therefore, when a transaction is updated, a user only needs to perform corresponding updates on the transaction templates stored in the transaction processing node to make the transaction templates capable of supporting the updated transaction. There is no need to re-develop transaction models to adapt to the updated transaction, and the cost of maintaining the transaction will be greatly reduced compared to current technologies, in which a user can only re-develop smart contracts to make smart contracts again support the transaction processing of an updated transaction. However, the problem is that transaction processing methods are not flexibly adaptable so that transaction updates are resolved and the flexibility of transaction processing on the blockchain is greatly improved.
[041] In addition, in exemplary applications, the system resources required in a smart contract execution process are generally allocated by a virtual machine. Since the virtual machine is split from a server, however, the virtual machine can only have a portion of the server system's resources. The allocation, by the virtual machine, of the system resources required
Petition 870190066689, of 7/15/2019, p. 22/62
14/39 by the smart contract means that the smart contract can only obtain required system resources from the server system resources owned by the virtual machine. In this way, the smart contract gets a small amount of system resources. To adapt to an increasingly high level of up-to-date transaction demand, however, the smart contract must need to obtain more system resources from the virtual machine to provide sufficient support for an increasing number of transactions. The performance problem of the virtual machine itself (that is, the virtual machine has a relatively small amount of system resources and the amount of system resources allocated to the smart contract is also relatively low) makes it impossible for the smart contract to provide good support for the increasing amount of transactions, thereby reducing the efficiency of blockchain transaction processing and resulting in inconvenience for users.
[042] In the modalities of the present invention, the transaction models corresponding to several transactions are pre-stored in a transaction processing node. In a transaction model initiation process to process a transaction request, the transaction processing node can allocate more system resources to the transaction request processing process, as the transaction processing node has the same amount system resources than a server. Therefore, with a continuous increase in the number of transactions, the transaction processing node can still strongly support the processing of multiple transactions, thus ensuring the efficiency of blockchain transaction processing.
[043] S104: Process the target transaction according to the transaction model and record the transaction information obtained from the processing on a blockchain.
[044] After the transaction processing node determines the model
Petition 870190066689, of 7/15/2019, p. 23/62
15/39 transaction corresponding to the type of transaction, the transaction processing node can process the target transaction included in the transaction request via the transaction model, where the transaction model comprises a pre-prescribed transaction processing rule , and the transaction processing node can process the target transaction according to the transaction processing rule.
[045] In exemplary applications, each type of transaction typically includes several sub-transactions. For example, financial transactions may include sub-transactions, such as transfer transactions, financial management transactions, etc., on the basis of which, in the modalities of this order, a transaction processing rule in each transaction model may be responsible for processing transactions of a main type of transactions, while each processing rule comprises a plurality of processing rules with different processing rules and different sub-transactions in the types of transactions. For example, for financial transactions, the transaction processing node can store the transaction model responsible for processing the financial transaction, while the financial transaction model comprises several processing rules for transferring processing, financial management and other sub-transactions.
[046] Therefore, in the modalities of this request, after loading the transaction processing node loads, according to the transaction type of the target transaction included in the transaction request, a transaction model corresponding to the type of transaction, the Transaction processing can determine a transaction processing rule included in the transaction model. The transaction processing node can then further determine a processing rule that matches the target transaction from the processing rules included in the transaction processing rule and
Petition 870190066689, of 7/15/2019, p. 24/62
16/39 process the target transaction using the processing rule.
[047] For example, assuming that the transaction request received by the transaction processing node is a transfer request sent by the user, the transaction processing node can determine that the transaction request transaction type is financial. The transaction processing node can then determine and load a transaction model capable of processing financial transactions from the pre-stored transaction models. After the transaction processing node loads the transaction model, the transaction processing node can determine a transaction processing rule included in the transaction model. The transaction processing node can then determine a transfer processing rule (that is, the processing rule described above) that matches the transfer transaction from the processing rules included in the transaction processing rule and process the transaction from transfer through the processing rule.
[048] In example applications, transaction requests entered by a user in a transaction processing node can create situations such as the data format in accordance with the provisions, illegal transaction request, etc. When the transaction processing node processes these transaction requests with problems, the operations of the transaction processing node can be affected, and the transaction processing node can even collapse in severe situations.
[049] To ensure effective transaction processing node operations and to ensure efficient transaction processing node transaction transactions, under the terms of this request, the transaction processing node may verify a transaction request received in accordance with the determined transaction model (the transaction model being
Petition 870190066689, of 7/15/2019, p. 25/62
17/39 used to process the transaction request received by the transaction processing node).
[050] In one example, after the transaction processing node determines the transaction model corresponding to the transaction request (that is, the transaction model corresponding to the transaction type of the target transaction), the transaction processing node can determine a transaction processing rule included in the transaction model of the transaction model, where the transaction processing rule comprises processing rules for performing transaction processing and checking rules for checking transaction requests. Therefore, the transaction processing node can verify the transaction request according to the verification rules. When the transaction processing node determines that the transaction request meets a predefined condition prescribed in the verification rules (that is, the transaction request is a legal and normal request), the transaction processing node can process the target transaction ; when the transaction processing node determines that the transaction request does not meet a predefined condition prescribed in the verification rules (i.e., the transaction request may have problems such as non-compliant data format, illegal transaction request, etc.), the transaction processing node may not process the target transaction and return a warning to the user that the transaction request processing has failed, causing the user to restart a transaction request to the transaction processing node according to the warning .
[051] After the transaction processing node completes processing the transaction request using the transaction template, the transaction processing node can obtain corresponding transaction information. The transaction information here can be transaction results obtained after
Petition 870190066689, of 7/15/2019, p. 26/62
18/39 the transaction processing node processes the transaction, the transaction records to show the entire transaction processing process or transaction data included in the transaction request. The transaction processing node can subsequently write the transaction information to a blockchain. In this way, the user can later search for the transaction information on the blockchain and then perform operations such as data verification on the transaction information.
[052] In the modalities of this application, transaction models pre-stored in the transaction processing node can be directed to a variety of transactions, and in exemplary applications, transactions involving blockchain can be divided mainly into the following four types:
I. The tracking transactions, which record in detail a designated data transfer path, allowing a user to determine the designated data holder through the designated data transfer path, registered on a blockchain, that is, tracking to the origin of the data designated data.
II. Authentication transactions, which use the immutability of data stored in a blockchain and store designated data in the blockchain for later verification of the designated data or for verification of other data through the designated data.
Ill Contract-based smart transactions, which are specific transactions implemented using smart contracts in current technologies, such as regularly returning profits from finance management products to users by running a smart contract on a blockchain.
IV. Exchange Transactions, which carry out mutual transactions between users through a blockchain and record details of the transaction in the process of
Petition 870190066689, of 7/15/2019, p. 27/62
19/39 blockchain transaction.
[053] With respect to the four types of transactions described above, the transaction models capable of processing these four types of transactions are pre-stored in the transaction processing node in the modalities of this order. Therefore, after the transaction processing node receives transaction requests for these four types of transactions, the transaction processing node can load the four types of pre-stored transaction templates to process target transactions included in the four types of transaction requests. transaction, where the four types of transaction requests can be a tracking model, an authentication model, a contract model and an exchange model, respectively.
[054] To further describe the transaction processing process in the modalities of this order, the transaction processing processes for these four types of transaction requests will be described in detail below.
[055] When a transaction processing node receives a tracking data request sent by a user, the transaction processing node can determine, according to a tracking transaction identifier included in the tracking data request, the type tracking transaction number corresponding to the tracking transaction identifier, and then the transaction processing node can determine and load, according to the type of tracking transaction, a tracking template corresponding to the tracking transaction type of the tracking templates. pre-stored transaction. Then, by activating the tracking model, the transaction processing node processes a tracking transaction included in the tracking data request.
[056] In the process in which the transaction processing node processes the tracking transaction through the tracking model, the
Petition 870190066689, of 7/15/2019, p. 28/62
20/39 transaction processing can determine a tracking transaction processing rule corresponding to the tracking transaction type and execute the tracking transaction processing rule to obtain, through analysis, tracking data, an address of the tracking data recipient and a tracking data sender address included in the tracking data request. Subsequently, the transaction processing node can still send the tracking data to the tracking data recipient and generate corresponding tracking data transfer information. The transaction processing node then writes the transfer information to a blockchain, allowing the user to subsequently determine a transfer path of the tracking data using the transfer information stored on the blockchain.
[057] With respect to authentication transactions, when a transaction processing node receives an authentication data request sent by a user, the transaction processing node can determine the type of authentication transaction corresponding to the authentication data request and load an authentication template corresponding to the type of authentication transaction from the pre-stored transaction templates. The transaction processing node can determine an authentication transaction processing rule corresponding to the type of authentication transaction, obtaining, through analysis, through the authentication transaction processing rule, authentication data to be written to a blockchain as required by the user of the authentication data request and then write the authentication data to the blockchain.
[058] In the embodiments of the present invention, the transaction processing node can also execute transactions through an intelligent contract
Petition 870190066689, of 7/15/2019, p. 29/62
21/39 stored in the blockchain, namely, a contract model (i.e., a transaction model) corresponding to a transaction to be executed through a smart contract can be pre-stored in the transaction processing node. Then, when the transaction processing node receives a contract data request sent by a user, the transaction processing node can determine the contract transaction type corresponding to the contract data request and determine, according to the type contract transaction type, a contract template corresponding to the contract transaction type of the pre-stored transaction templates. The blockchain can further determine a contract transaction processing rule that matches the transaction type of the model contract contract and analyze, by executing the contract transaction processing rule, to obtain a contract address and transaction parameters included in the contract data request, where the contract address is the storage address of the smart contract on the blockchain. Subsequently, the transaction processing node can search for the smart contract on the blockchain at the contract address and then transmit the determined transaction parameters to the smart contract address, causing the smart contract to automatically execute the transaction parameters and resume the corresponding transaction results (that is, the transaction information) for the transaction processing node. After the transaction processing node receives the transaction results resumed by the smart contract, the transaction processing node can display the transaction results to the user and, at the same time, save the transaction results on the blockchain for later operations by how to perform data verification in the transaction results.
[059] With respect to exchange transactions, when a transaction processing node receives a transaction request sent by a user, the
Petition 870190066689, of 7/15/2019, p. 30/62
22/39 transaction processing can determine an exchange model capable of processing the transaction request from the pre-stored transaction models and process an exchange transaction included in the transaction request by loading the exchange model, where the processing node transaction can first determine, according to the type of exchange transaction determined, an exchange transaction processing rule that corresponds to the exchange transaction type of the exchange model. Through the exchange transaction processing rule, the transaction processing node obtains information involved in the transaction request through analysis, such as the transaction initiator, the transaction recipient, the transaction amount, etc., obtains the subtraction a corresponding transaction amount from a transaction initiator account by executing the exchange transaction processing rule and then transfers that transaction amount to transaction processing in a transaction recipient account. In this process, the transaction processing node can obtain transaction details for that transaction (that is, the transaction information). In order for the user to view the transaction details on the blockchain in a subsequent process and for a transaction certificate of the transaction details to be provided to the user in a subsequent process, the transaction processing node can write the transaction details to the blockchain.
[060] In the embodiments of the present invention, the transaction processing node can also support the transaction processing of other transactions, and a user only needs to load a transaction model of a desired transaction on the transaction processing node to obtain processing of the transaction by the transaction processing node.
[061] It can be seen from the methods described above that the transaction templates for processing multiple target transactions are pre-stored on a transaction processing node instead of a blockchain. So when
Petition 870190066689, of 7/15/2019, p. 31/62
23/39 a transaction is updated, a user only needs to perform corresponding updates on the transaction templates stored in the transaction processing node to make the transaction templates capable of supporting the updated transaction. There is no need to develop transaction models again to adapt to the updated transaction, and the transaction maintenance cost will be greatly reduced compared to current technologies in which a user can only develop smart contracts again to make smart contracts support the transaction processing of an updated transaction.
[062] In the modalities of the present invention, the user can precompile all transaction models and insert the transaction models in the transaction processing node. Correspondingly, after the transaction processing node receives the transaction templates entered by the user, the transaction processing node can store the transaction templates in the transaction processing node. In a subsequent process, the transaction processing node can process incoming transaction requests by loading these transaction templates.
[063] In the modalities of the present invention, the user can package and release all transaction models on a transaction platform, causing other users to need a transaction model installation package to download the installation package of the corresponding transaction model from the transaction platform and to store the transaction model installation package on a local transaction processing node. After the local transaction processing node loads the transaction model installation package, the transaction processing node can process transactions corresponding to the transaction model, as shown in Figure 2.
[064] Figure 2 is a schematic diagram of users who release
Petition 870190066689, of 7/15/2019, p. 32/62
24/39 transaction model installation packages on a transaction platform in accordance with some of the modalities of this application.
[065] In Figure 2, user A can compile transaction models using a compiled language and package the transaction models, respectively, to upload to a transaction platform. After the transaction platform receives the transaction model installation packages loaded by user A, the transaction platform can release the transaction model installation packages for other users to download and use. Transaction template installation packages can also be uploaded by other users, and users can share their compiled transaction template installation packages on the transaction platform respectively for other users to use.
[066] It should be noted that, in exemplary applications, smart contracts are usually compiled and written on a blockchain by users themselves. If a user compiles and writes a malicious smart contract on a blockchain, the smart contract could result in inconvenience and losses in processing transactions based on the smart contract by other users.
[067] To avoid the situation described above, in the modalities of the present invention, the transaction platform can check the transaction model installation packages sent by users. When a transaction model installation package sent by a user is found to contain malicious code, the transaction model installation package will not be released, thus providing a good environment for downloading transaction model installation packages for users .
[068] The modalities of the present invention further provide a method of processing transactions. Figure 3 is a schematic diagram of a
Petition 870190066689, of 7/15/2019, p. 33/62
25/39 method of processing transactions according to some embodiments of the present invention.
[069] A transaction processing node receives a transaction request and determines a transaction type of a target transaction included in the transaction request; loads, according to the type of transaction, a transaction model corresponding to the type of transaction; further processes the target transaction according to the transaction model and records transaction information obtained from processing in a target block on a blockchain; and when recording the transaction information obtained in the target block, it determines and stores a change of state value of the target block, the change of state value being used to verify that the transaction information registered in the target block is consistent with the information of transactions recorded in other blocks on the blockchain.
[070] In addition, determining and storing a change in state value of the target block comprises:
after recording the transaction information obtained in the target block, calculate a check value of the target block; determine the check value as the target block state change value; and store the state change value on the blockchain.
[071] That is, when the transaction information is recorded in different blocks, the change values of the blocks can be determined through computation. In this way, the change values of different blocks are stored sequentially in a tree structure, such as a Merkle tree, and then if the data stored in different blocks on the blockchain are consistent, they can be determined using a hash value of a root node of the Merkle tree.
[072] The blockchain according to the modalities of the present invention can be a blockchain such as Bitcoin blockchain, Ethereum blockchain,
Petition 870190066689, of 7/15/2019, p. 34/62
26/39 Litecoin blockchain, etc.
[073] It should also be noted that, after the transaction processing node completes processing the transaction desired by the user (that is, the target transaction included in a transaction request sent by the user) through the determined transaction model, the node transaction processing can download the loaded transaction template, thereby saving the memory space of the transaction processing node. Alternatively, after the transaction processing node has completed processing the target transaction, the transaction processing node can also suspend the transaction model and reactivate the transaction model, after a transaction request corresponding to the transaction model is received later to process the transaction request.
[074] In the embodiments of the present invention, all transaction models for processing multiple target transactions are pre-stored on a transaction processing node, rather than stored on a blockchain. Therefore, when a transaction is updated, a user only needs to perform corresponding updates on the transaction templates stored in the transaction processing node to make the transaction templates capable of supporting the updated transaction. There is no need to develop transaction models again to adapt to the updated transaction, and the cost of maintaining transactions will be greatly reduced compared to current technologies in which a user can only re-develop smart contracts to make smart contracts again support the processing of transactions for an updated transaction. However, the problem that transaction processing methods are not flexibly adaptable to transaction updates is resolved, and the flexibility of blockchain transaction processing is greatly improved.
Petition 870190066689, of 7/15/2019, p. 35/62
27/39 [075] In addition, in a process where the transaction processing node performs transaction processing using pre-stored transaction models, all system resources required to process a target transaction using a model transactions are allocated by the transaction processing node itself and the transaction processing node can use all the system resources of the transaction processing node to process the target transaction, which effectively avoids the problem in current technologies that the systems called by a virtual machine in a smart contract execution process are insufficient, greatly improve the efficiency of processing blockchain transactions and facilitate a user's transaction processing.
[076] In the modalities of the present invention, in a transaction processing process, a user can enter a transaction request corresponding to the transaction processing node. After the transaction processing node receives the transaction request, the transaction processing node determines a transaction type of a target transaction included in the transaction request, loads a transaction template corresponding to the transaction type, and processes the target transaction through the transaction model, where the transaction processing node can be a terminal capable of processing blockchain transactions, a server to process blockchain transactions, or a client or application to process blockchain transactions.
[077] The above described is the transaction processing method according to the modalities of the present invention. Based on the same concept, the modalities of the present invention further provide a transaction processing apparatus, as shown in Figure 4.
[078] Figure 4 is a schematic diagram of a
Petition 870190066689, of 7/15/2019, p. 36/62
28/39 transaction processing according to some modalities of the present patent application, comprising:
a receiving module 401 configured to receive a transaction request;
a determination module 402 configured to determine a transaction type of a target transaction included in the transaction request;
a model 403 loading module configured to load, according to the type of transaction, a transaction model that corresponds to the type of transaction; and a 404 processing module configured to process the target transaction according to the transaction model and record transaction information obtained from processing on a blockchain.
[079] The determination module 402 is configured to determine a transaction identifier of the target transaction and determine the transaction type of the transaction to be processed according to the transaction identifier.
[080] The 403 model load module is configured to determine the transaction model that corresponds to the transaction type of the configured transaction models and load the transaction model.
[081] The model 403 loading module is configured to generate, if there is no transaction model corresponding to the type of transaction in the configured transaction models, the transaction model corresponding to the type of transaction; and load the generated transaction model.
[082] The 404 processing module is configured to process the target transaction according to a transaction processing rule included in the transaction model.
[083] The 404 processing module is configured to determine a transaction processing rule in the transaction model corresponding to the
Petition 870190066689, of 7/15/2019, p. 37/62
29/39 target transaction; and process the target transaction according to the transaction processing rule.
[084] The 404 processing module is configured to determine a verification rule included in the transaction processing rule; verify that the transaction request meets a predefined condition according to the verification rule; if the transaction request meets the predefined condition according to the verification rule, process the target transaction according to the processing rule in the transaction processing rule processing rule; and if the transaction request does not meet the predefined condition according to the verification rule, warn that the processing of the target transaction is failed.
[085] The model 403 loading module is configured to determine, if the type of transaction determined is the type of tracking transaction, a tracking transaction processing rule corresponding to the tracking transaction type of a tracking model, the tracking template corresponding to the tracking transaction type;
the 404 processing module is configured to obtain, through analysis, based on the transaction processing rule, the tracking data, the data of a recipient and an issuer of the tracking data included in the tracking data request; transfer the tracking data from a sender to a recipient, generate corresponding transfer information and save the transfer information on the blockchain.
[086] The 403 model load module is configured to determine, if the transaction type determined is the authentication transaction type, an authentication transaction processing rule corresponding to the authentication transaction type of an authentication model, the authentication model corresponding to the type of transaction
Petition 870190066689, of 7/15/2019, p. 38/62
30/39 authentication; and the processing module 404 is configured to obtain, by means of analysis, based on the authentication transaction processing rule, authentication data included in the authentication data request; and write the authentication data to the blockchain.
[087] The 403 model loading module is configured to determine, if the transaction type determined is the contract transaction type, a contract transaction processing rule corresponding to the contract transaction type of a transaction model contract, the contract transaction model corresponding to the type of contract transaction; and the processing module 404 is configured to obtain through analysis, based on the contract transaction processing rule, a contract address and transaction parameters included in the contract data request; transmit, according to the contract address, the transaction parameters to a smart contract corresponding to the contract address, causing the smart contract to execute the transaction parameters and resume the corresponding transaction results; and record the transaction results received on the blockchain.
[088] The model 403 loading module is configured to determine, if the type of transaction determined is the type of exchange, an exchange processing rule corresponding to the exchange type of an exchange model, the exchange model corresponding to the exchange type; and the processing module 404 is configured to obtain, through analysis, based on the exchange processing rule, a transaction initiator account, a transaction amount and a transaction recipient account included in the transaction request; subtract the transaction amount from the transaction initiator account, and transfer the transaction amount to the recipient's account
Petition 870190066689, of 7/15/2019, p. 39/62
31/39 transaction to obtain transaction details; and record the transaction details on the blockchain.
[089] In the modalities of the present invention, after the transaction processing node receives the transaction request sent by the user, the transaction processing node can load, according to the transaction type of the target transaction included in the transaction request, a transaction model corresponding to the type of transaction, and process the target transaction using the transaction model. Here, all transaction models for processing multiple target transactions are pre-stored on the transaction processing node, rather than being stored on a blockchain. Therefore, when a transaction is updated, the user only needs to perform corresponding updates on the transaction templates stored in the transaction processing node to make the transaction templates capable of supporting the updated transaction. There is no need to re-develop transaction models to adapt to the updated transaction, and the cost of maintaining the transaction will be greatly reduced compared to current technologies, in which a user can only re-develop smart contracts to make the contracts smart devices developed to support transaction processing for an updated transaction. However, the problem that transaction processing methods are not flexibly adaptable to transaction updates is resolved, and the flexibility of transaction processing on the blockchain is greatly improved.
[090] In addition, in a process where the transaction processing node performs transaction processing using pre-stored transaction models, all system resources required to process a target transaction through a transaction model are allocated by the transaction processing node itself and the transaction processing node can use
Petition 870190066689, of 7/15/2019, p. 40/62
32/39 all system resources from the transaction processing node to process the target transaction, which effectively avoids the problem in current technologies that the system resources called by a virtual machine in a smart contract execution process are insufficient , greatly improves the efficiency of blockchain transaction processing and facilitates a user's transaction processing.
[091] Based on the same concept, the modalities of this application also provide a transaction processing device, as shown in Figure 5.
[092] Figure 5 is a schematic diagram of a transaction processing apparatus according to some modalities of the present patent application, comprising:
a receiving module 501 configured to receive a transaction request and determine a transaction type for a target transaction included in the transaction request;
a model 502 loading module configured to load, according to the type of transaction, a transaction model corresponding to the type of transaction; and a processing module 503 configured to process the target transaction according to the transaction model and record transaction information obtained from processing in a target block on a blockchain; and when recording the transaction information obtained in the target block, determining and storing a change of state value of the target block, the change of state value being used to verify that the transaction information recorded in the target block is consistent with the information of transaction registered in other blocks the blockchain.
[093] In some other embodiments of the present invention, the 503 processing module that determines and stores a state change value of the
Petition 870190066689, of 7/15/2019, p. 41/62
33/39 target block comprises:
after recording the transaction information obtained in the target block, compute a verification value of the target block;
determine the check value as the target block state change value; and store the state change value on the blockchain.
[094] In the 1990s, an improvement to a technology can obviously be differentiated into a hardware improvement (for example, an improvement to a circuit structure, such as a diode, a transistor, a switch, etc.) or an improvement software (an improvement to a method flow). With technological development, however, many current improvements in method flows can be seen as direct improvements in hardware circuit structures. Designers almost always obtain a corresponding hardware circuit structure by programming an improved method flow in a hardware circuit. Therefore, it cannot be concluded that an improvement in a method flow cannot be accomplished with a hardware module. For example, the Programmable Logic Device (PLD) (for example, (the FPGA) Field Programmable Gate Array) is an integrated circuit in which the logic functions of the integrated circuit are determined by a user through device programming. A designer can program on his own to "integrate" a digital system into a PLD part, without having to ask a chip maker to design and manufacture a dedicated IC chip. Currently, moreover, this type of programming has been mainly implemented through “logical compiler” software, instead of manually manufacturing IC chips. The logic compiler software is similar to a software compiler used for developing and recording programs, while a specific programming language must be used to write source code before compiling, which is called the Description Language of
Petition 870190066689, of 7/15/2019, p. 42/62
34/39
Hardware (HDL). There is not only one, but many types of HDL, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL ( hardware description language Java), Lava, Lola, MyHDL, PALASM, RHDL (Ruby hardware description language), etc. The most common currently used includes VHDL (High Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it would be easy to obtain a hardware circuit to implement a logical method flow using the HDLs above to perform some logic programming in the method flow and to program the method flow in a CI.
[095] A controller can be implemented in any appropriate manner. For example, a controller may be, for example, in the form of a microprocessor or processor, as well as in a computer-readable medium that stores computer-readable program codes (for example, software or firmware) capable of being executed by ( micro) processor, a logic port, a switch, an Application Specific Integrated Circuit (ASIC), a programmable logic controller and a built-in microcontroller. Controller examples include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicone Laboratories C8051F320. A memory controller can also be implemented as part of a memory control logic. Those skilled in the art should also be aware that, in addition, a controller is implemented in a pure form of computer-readable program codes, it is possible to perform logical programming in steps of a method to allow a controller to implement the same functions in the in the form of a logic gate, a switch, an ASIC, a programmable logic controller, a microcontroller
Petition 870190066689, of 7/15/2019, p. 43/62
35/39 built-in, etc. Therefore, such a controller can be considered as a piece of hardware, while devices comprised in the controller and configured to achieve various functions can also be considered as a structure within the hardware part. Alternatively, devices configured to achieve various functions can even be considered both as software modules to implement a method and a structure within a piece of hardware.
[096] The system, device, module or unit described in the above modalities can be implemented by a chip or computer entity, or implemented by a product that has a function. A typical implementation device is a computer. In one example, a computer can be, for example, a personal computer, a portable computer, a cell phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an e-device. -mail, game console, a tablet computer, a usable device, or a combination of any devices on these devices.
[097] For convenience of description, the above device is divided into several units according to functions for description. The functions of the units can be implemented in one or more pieces of software and / or hardware when the present application is implemented.
[098] One skilled in the art should understand that the embodiments of the present invention can be provided as a method, system or computer program product. Therefore, the present invention can be implemented as a complete hardware modality, a complete software modality or a mode combining software and hardware. In addition, the present invention may be in the form of a computer program product implemented in one or more storage media usable by
Petition 870190066689, of 7/15/2019, p. 44/62
36/39 computer (including, but not limited to, a magnetic disk memory, CDROM, an optical memory, etc.) comprising program codes usable by computer.
[099] The present invention is described with reference to flowcharts and / or block diagrams of the method, device (system) and computer program product according to the modalities of the present invention. It should be understood that computer program instructions can be used to implement each process and / or block in flowcharts and / or block diagrams and a combination of processes and / or blocks in flowcharts and / or block diagrams. These computer program instructions can be provided for a general purpose computer, a special purpose computer, an embedded processor, or a processor for other programmable data processing devices to generate a machine, causing instructions executed by a computer or processor of other programmable data processing devices to generate an apparatus for implementing a specified function in one or more processes in flowcharts and / or in one or more blocks in block diagrams.
[0100] These computer program instructions can also be stored in a computer-readable memory that can instruct a computer or other programmable data processing devices to work in a particular way, making the instructions stored in computer-readable memory generate a manufactured article that includes an instructional apparatus. . The instructional apparatus implements a function specified in one or more processes in the flowcharts and / or in one or more blocks in the block diagrams.
[0101] These computer program instructions can also be loaded onto a computer or other processing devices.
Petition 870190066689, of 7/15/2019, p. 45/62
37/39 programmable data, causing a series of operational steps to be performed on the computer or other programmable devices, thus generating computer-implemented processing. Therefore, instructions executed on the computer or other programmable devices provide steps to implement a function specified in one or more processes in flowcharts and / or in one or more blocks in block diagrams.
[0102] In a typical configuration, the computing device includes one or more processors (CPUs), input / output interfaces, network interfaces and a memory.
[0103] The memory may include computer-readable media, such as a volatile memory, a Random Access Memory (RAM) and / or a non-volatile memory, for example, a Read-Only Memory (ROM) or a flash memory. Memory is an example of a computer-readable medium.
[0104] Computer-readable media includes permanent, volatile, mobile and immobile media, which can implement information storage using any method or technology. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, Phase Shift Random Access Memories (PRAMs), Static Random Access Memories (SRAMs), Dynamic Random Access Memories (DRAMs), other types of Access Memories Random (RAMs), Read Only Memories (ROMs), Electrically Erasable Programmable Read Only Memories (EEPROMs), flash memories or other memory technologies, Compact Disc Read Only Memories CD-ROMs, Digital Versatile Discs (DVDs) or other optical memories, cassettes, cassettes and disk memories or other magnetic memory devices, or any other non-transmission medium, which can be used to store information
Petition 870190066689, of 7/15/2019, p. 46/62
38/39 accessible to a computing device. According to the definitions in the report, computer-readable media does not include transitory media, such as data signals and carriers.
[0105] It should be noted that the terms "including", "comprising" or any other variants of the terms are intended to cover a non-exclusive inclusion, causing a process, method, commodity or device that comprises a series of elements to not only understand those elements , but also understand other elements that are not clearly listed, or understand elements that are inherent to the process, method, commodity or device. When there is no additional restriction, the elements defined by the statement comprising a ... do not exclude a process, method, commodity or device comprising the above elements from additionally comprising additional identical elements.
[0106] One skilled in the art should understand that the embodiments of the present invention can be provided as a method, system or computer program product. Therefore, the present invention can be implemented as a complete hardware modality, a complete software modality or a modality that combines software and hardware. In addition, the present invention may be in the form of a computer program product implemented in one or more storage media usable by a computer (including, but not limited to, a magnetic disk memory, CDROM, an optical memory, etc.). ) comprising program codes usable by computer.
[0107] The present invention can be described in a regular context of a computer executable instruction that is executed by a computer, such as a program module. Generally, the program module comprises a routine, a program, an object, a component, a data structure, etc.
Petition 870190066689, of 7/15/2019, p. 47/62
39/39 to perform a specific task or implement a specific abstract data type. The present invention can also be practiced in distributed computing environments. In these distributed computing environments, remote processing devices connected through communication networks perform tasks. In distributed computing environments, a program module can be located on local and remote computer storage media, including storage devices.
[0108] The modalities in this report are described in a progressive manner, with each modality focused on differences from other modalities, and the modalities can be referenced mutually to identical or similar parts. In particular, the system modality is described in a relatively simple way, since the system modality is substantially similar to the method modality. The description of the method modality can be referenced to the related parties.
[0109] The above described are only modalities of this application, which are not used to limit this application. For one skilled in the art, the present application may have several modifications and alterations. Any modification, equivalent substitution, or improvement made within the spirit and principle of the present invention must be encompassed by the claims of the present invention.
权利要求:
Claims (26)
[1]
1. Transaction processing method, CHARACTERIZED by the fact that it comprises:
receive a transaction request;
determine a transaction type for a target transaction included in the transaction request;
load, according to the type of transaction, a transaction model corresponding to the type of transaction; and process the target transaction according to the transaction model and record the transaction information obtained from the processing on a blockchain.
[2]
2. Transaction processing method, according to claim 1, CHARACTERIZED by the fact that determining a type of transaction corresponding to the transaction request comprises:
determine a transaction identifier for the target transaction; and determine the transaction type of the target transaction according to the transaction identifier.
[3]
3. Transaction processing method, according to claim 1, CHARACTERIZED by the fact that loading, according to the type of transaction, a transaction model corresponding to the type of transaction comprises:
determine the transaction model corresponding to the transaction type of the configured transaction model and, load the transaction model.
[4]
4. Transaction processing method, according to claim 1 or 3, CHARACTERIZED by the fact that loading, according to the type of transaction, a transaction model corresponding to the type of transaction comprises:
Petition 870190066689, of 7/15/2019, p. 49/62
2/10 generate, if there is no transaction model corresponding to the type of transaction in the configured transaction models, the transaction model corresponding to the type of transaction; and load the generated transaction model.
[5]
5. Transaction processing method, according to claim 1, CHARACTERIZED by the fact that the processing of the target transaction according to the transaction model comprises:
process the target transaction according to a transaction processing rule included in the transaction model.
[6]
6. Transaction processing method, according to claim 1, CHARACTERIZED by the fact that the processing of the target transaction according to the transaction model comprises:
determine a transaction processing rule in the transaction model corresponding to the target transaction; and process the target transaction according to the transaction processing rule.
[7]
7. Transaction processing method, according to claim 5 or 6, CHARACTERIZED by the fact that the processing of the target transaction according to the transaction processing rule comprises:
determine a verification rule included in the transaction processing rule;
verify that the transaction request meets a predefined condition according to the verification rule;
if the transaction request meets the predefined condition according to the verification rule, process the target transaction according to a processing rule in the transaction processing rule; and if the transaction request does not meet the predefined condition according
Petition 870190066689, of 7/15/2019, p. 50/62
3/10 with the verification rule, warn that the processing of the target transaction is flawed.
[8]
8. Transaction processing method, according to claim 5, CHARACTERIZED by the fact that loading, according to the type of transaction, a transaction model corresponding to the type of transaction comprises:
determine, if the determined transaction type is a tracking transaction type, a tracking transaction processing rule corresponding to the tracking transaction type of a tracking template, the tracking template corresponding to the tracking transaction type; and processing the target transaction according to the transaction model and recording transaction information obtained from processing on a blockchain comprises:
obtain through analysis, based on the tracking transaction processing rule, tracking data, data from a recipient and a sender of the tracking data included in a tracking data request;
transfer the tracking data from the sender to the recipient, generating the corresponding transfer information and writing the transfer information to the blockchain.
[9]
9. Transaction processing method, according to claim 5, CHARACTERIZED by the fact that loading, according to the type of transaction, a transaction model corresponding to the type of transaction comprises:
determine, if the type of transaction determined is an authentication transaction type, an authentication transaction processing rule corresponding to the authentication transaction type of an authentication model, the authentication model corresponding to the authentication transaction type; and processing the target transaction according to the transaction model and
Petition 870190066689, of 7/15/2019, p. 51/62
4/10 recording transaction information obtained from processing on a blockchain comprises:
obtaining through analysis, based on the authentication transaction processing rule, authentication data included in an authentication data request; and write the authentication data to the blockchain. 10.
[10]
10. Transaction processing method, according to claim 5, CHARACTERIZED by the fact that loading, according to the type of transaction, a transaction model corresponding to the type of transaction comprises:
determine, if the type of transaction determined is a type of contract transaction, that of contract transaction processing corresponding to the type of contract transaction from a contract transaction model, the contract transaction model corresponding to the type of contract contract transaction; and processing the target transaction according to the transaction model and recording transaction information obtained from processing on a blockchain comprises:
obtain through analysis, based on the contract transaction processing rule, a contract address and transaction parameters included in a contract data request;
transmit, according to the contract address, the transaction parameters to a smart contract corresponding to the contract address, causing the smart contract to execute the transaction parameters and resume a corresponding transaction result; and the result of the transaction received on the blockchain.
[11]
11. Transaction processing method, according to claim 5, CHARACTERIZED by the fact that loading, according to the type of transaction, a transaction model corresponding to the type of transaction comprises:
Petition 870190066689, of 7/15/2019, p. 52/62
5/10 determine, if the determined transaction type is an exchange transaction type, an exchange transaction processing rule corresponding to the exchange transaction type of an exchange model, the exchange model corresponding to the exchange transaction type exchange; and processing the target transaction according to the transaction model and recording transaction information obtained from processing on a blockchain comprises:
obtain through analysis, based on the exchange transaction processing rule, an account of a transaction initiator, a transaction amount and an account of the transaction recipient included in the transaction request;
subtract the transaction amount from the transaction initiator's account and transfer the transaction amount to the transaction recipient's account for transaction details; and record the transaction details on the blockchain.
[12]
12. Transaction processing method, FEATURED by the fact that it comprises:
receive a transaction request and determine a transaction type for a target transaction included in the transaction request;
load, according to the type of transaction, a transaction model corresponding to the type of transaction;
process the target transaction according to the transaction model and record the transaction information obtained from processing in a target block on a blockchain; and when recording the transaction information obtained in the target block, determining and storing a state exchange value of the target block, the state change value being used to verify that the transaction information recorded in the target block is consistent with the information of transactions recorded in other blocks in the
Petition 870190066689, of 7/15/2019, p. 53/62
6/10 blockchain.
[13]
13. Transaction processing method according to claim 12, CHARACTERIZED by the fact that determining and storing a change in state value of the target block comprises:
after recording the transaction information obtained in the target block, compute a verification value of the target block;
determine the check value as the target block state change value; and store the state change value on the blockchain.
[14]
14. Transaction processing apparatus, FEATURED by the fact that it comprises:
a receiving module configured to receive a transaction request;
a determination module configured to determine a transaction type for a target transaction included in the transaction request;
a model loading module configured to load, according to the type of transaction, a transaction model corresponding to the type of transaction; and a processing module configured to process the target transaction according to the transaction model and record transaction information obtained from processing on a blockchain.
[15]
15. Transaction processing apparatus according to claim 14, CHARACTERIZED by the fact that the determination module is configured to determine a transaction identifier of the target transaction and to determine the transaction type of the target transaction according to the transaction identifier transaction.
[16]
16. Transaction processing apparatus, according to
Petition 870190066689, of 7/15/2019, p. 54/62
7/10 claim 14, CHARACTERIZED by the fact that the model load module is configured to determine the transaction model corresponding to the transaction type of the configured transaction models and load the transaction model.
[17]
17. Transaction processing apparatus, according to claim 14 or 16, CHARACTERIZED by the fact that the model loading module is configured to generate, if there is no transaction model that matches the type of transaction in the transaction models configured, the transaction model that corresponds with the type of transaction; and load the generated transaction model.
[18]
18. Transaction processing apparatus, according to claim 14, CHARACTERIZED by the fact that the processing module is configured to process the target transaction according to a transaction processing rule included in the transaction model.
[19]
19. Transaction processing apparatus, according to claim 14, CHARACTERIZED by the fact that the processing module is configured to determine a transaction processing rule in the transaction model that corresponds to the target transaction; and process the target transaction according to the transaction processing rule.
[20]
20. Transaction processing apparatus, according to claim 18 or 19, CHARACTERIZED by the fact that the processing module is configured to determine a verification rule included in the transaction processing rule; verify that the transaction request meets a predefined condition according to the verification rule; if the transaction request meets the predefined condition according to the verification rule, process the target transaction according to a processing rule in the transaction processing rule; and if the transaction request does not meet
Petition 870190066689, of 7/15/2019, p. 55/62
8/10 predefined condition according to the verification rule, warn that the processing of the target transaction is failed.
[21]
21. Transaction processing apparatus according to claim 18, CHARACTERIZED by the fact that the model loading module is configured to determine, if the type of transaction determined is a type of tracking transaction, a processing rule for tracking transaction corresponding to the tracking transaction type of a tracking template, the tracking template corresponding to the tracking transaction type; and the processing module is configured to obtain through analysis, based on the tracking transaction processing rule, tracking data, data from a recipient and a sender of the tracking data included in a tracking data request; transfer the tracking data from the sender to the recipient, generate the corresponding transfer information and save the transfer information on the blockchain.
[22]
22. Transaction processing apparatus according to claim 18, CHARACTERIZED by the fact that the model loading module is configured to determine whether the determined transaction type is an authentication transaction type, a transaction processing rule authentication model corresponding to the authentication transaction type of an authentication model, the authentication model corresponding to the authentication transaction type; and the processing module is configured to obtain, through analysis, based on the authentication transaction processing rule, authentication data included in an authentication data request; and write the authentication data to the blockchain.
Petition 870190066689, of 7/15/2019, p. 56/62
9/10
[23]
23. Transaction processing apparatus according to claim 18, CHARACTERIZED by the fact that the model loading module is configured to determine whether the determined transaction type is a contract transaction type, a transaction processing rule contract corresponding to the contract transaction type of a contract transaction model, the contract transaction model corresponding to the contract transaction type; and the processing module is configured to obtain, through analysis, based on the contract transaction processing rule, a contract address and the transaction parameters included in the contract data request; transmit, according to the contract address, the transaction parameters to a smart contract corresponding to the contract address, causing the smart contract to execute the transaction parameters and resume a corresponding transaction result; and record the result of the transaction received on the blockchain.
[24]
24. Transaction processing apparatus, according to claim 18, CHARACTERIZED by the fact that the model loading module is configured to determine whether the determined transaction type is an exchange transaction type, a transaction processing rule of exchange corresponding to the type of exchange transaction of an exchange model corresponding to the type of exchange transaction; and the processing module is configured to obtain, through analysis, based on the processing rule of the exchange transaction, a transaction initiator account, the transaction amount and a transaction recipient account included in the transaction request; subtract the transaction amount from the transaction initiator's account and transfer the transaction amount to the transaction recipient's account for transaction details; and record the details of the transaction
Petition 870190066689, of 7/15/2019, p. 57/62
10/10 on the blockchain.
[25]
25. Transaction processing device, CHARACTERIZED by the fact that it comprises:
a receipt module configured to receive a transaction request and determine a transaction type for a target transaction included in the transaction request;
a model loading module configured to load, according to the type of transaction, a transaction model corresponding to the type of transaction; and a processing module configured to process the target transaction according to the transaction model and record transaction information obtained from processing in a target block on a blockchain; and when recording the transaction information obtained in the target block, determining and storing a state change value of the target block, the state change value being used to verify that the transaction information recorded in the target block is consistent with the information of transactions recorded in other blocks on the blockchain.
[26]
26. Transaction processing apparatus according to claim 25, CHARACTERIZED by the fact that the processing module configured to determine and store a change of state value of the target block comprises:
after recording the transaction information obtained in the target block, compute a verification value of the target block;
determine the check value as the target block state change value; and store the state change value on the blockchain.
类似技术:
公开号 | 公开日 | 专利标题
BR112019014589A2|2020-02-18|SERVICE AND APPLIANCE PROCESSING METHOD
KR20190118630A|2019-10-18|Method and apparatus for consensus verification
RU2725760C1|2020-07-06|Method and apparatus for determining state of database and method and apparatus for verifying consistency
JP6804668B2|2020-12-23|Block data validation method and equipment
BR112019013441A2|2019-12-31|data storage method and data storage device
BR112019020120A2|2020-05-05|blockchain and device based transaction processing method
BR112019020374A2|2020-04-28|method, apparatus and system for blockchain consensus
BR112019013394A2|2020-03-03|DATA PROCESSING METHOD AND DATA PROCESSING DEVICE
US9703346B2|2017-07-11|Firmware interface with backup non-volatile memory storage
TW201822033A|2018-06-16|Resource processing method and apparatus
WO2020233609A1|2020-11-26|Conditional receipt storage method and node combining code labeling with user type
BR112019010976A2|2019-10-15|scan and pay method and device used in mobile devices
US20140082346A1|2014-03-20|Method and System for Managing Basic Input/Output System | Configuration Data of BIOS
US20200210425A1|2020-07-02|Data processing method, apparatus, and device
US20200169385A1|2020-05-28|Data processing method and apparatus
US20200244460A1|2020-07-30|Blockchain-based identity authentication method, apparatus, and device
US10996936B2|2021-05-04|Techniques for distributing code to components of a computing system
BR112019010368A2|2019-11-12|methods for processing a service request and devices for processing a service request
同族专利:
公开号 | 公开日
US10782998B2|2020-09-22|
AU2018212186A1|2019-07-18|
AU2018212186B2|2020-09-10|
KR20190092564A|2019-08-07|
US10817330B2|2020-10-27|
CA3048574A1|2018-08-02|
CN107025559A|2017-08-08|
US20200174824A1|2020-06-04|
EP3547241A1|2019-10-02|
US20190310878A1|2019-10-10|
TWI722256B|2021-03-21|
PH12019501498A1|2020-06-08|
WO2018137564A1|2018-08-02|
ZA201904401B|2020-08-26|
JP2020507840A|2020-03-12|
RU2725690C1|2020-07-03|
CN107025559B|2020-09-18|
MX2019008502A|2019-09-13|
CA3048574C|2021-11-16|
TW201828220A|2018-08-01|
EP3547241A4|2020-01-15|
SG11201906003VA|2019-08-27|
US11099887B2|2021-08-24|
KR102201844B1|2021-01-13|
AU2019101602A4|2020-01-23|
JP6912583B2|2021-08-04|
US20200285507A1|2020-09-10|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题

US5613012A|1994-11-28|1997-03-18|Smarttouch, Llc.|Tokenless identification system for authorization of electronic transactions and electronic transmissions|
JP3537680B2|1998-10-22|2004-06-14|富士通株式会社|Integrated circuit for protocol control|
US6971096B1|2000-05-19|2005-11-29|Sun Microsystems, Inc.|Transaction data structure for process communications among network-distributed applications|
WO2003014867A2|2001-08-03|2003-02-20|John Allen Ananian|Personalized interactive digital catalog profiling|
JP4163927B2|2001-10-31|2008-10-08|松下電器産業株式会社|Java compiler and compiling information generation apparatus used by the Java compiler|
US20030187841A1|2002-03-28|2003-10-02|International Business Machines Corporation|Method and structure for federated web service discovery search over multiple registries with result aggregation|
WO2005017654A2|2003-06-05|2005-02-24|Intertrust Technologies Corporation|Interoperable systems and methods for peer-to-peer service orchestration|
US20050080768A1|2003-10-10|2005-04-14|International Business Machines Corporation|Methods and apparatus for dynamic service discovery from Web services representation chain|
US7590658B2|2004-09-30|2009-09-15|Deloitte Development Llc|System, software and method for examining a database in a forensic accounting environment|
EP1753195B1|2005-07-27|2012-03-07|Sap Ag|Server computer, client device and web service implemented data processing method|
US7860968B2|2005-11-21|2010-12-28|Sap Ag|Hierarchical, multi-tiered mapping and monitoring architecture for smart items|
CN100550781C|2007-06-27|2009-10-14|中兴通讯股份有限公司|A kind of customization method for abstract configuration service based on template|
US20100106611A1|2008-10-24|2010-04-29|Uc Group Ltd.|Financial transactions systems and methods|
US8874701B2|2008-12-22|2014-10-28|Sap Se|On-demand provisioning of services running on embedded devices|
US20150379510A1|2012-07-10|2015-12-31|Stanley Benjamin Smith|Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain.|
US9686814B2|2011-11-07|2017-06-20|Industrial Technology Research Institute|Method of reference cell maintenance|
US9805385B2|2011-11-21|2017-10-31|Nant Holdings Ip, Llc|Subscription bill service, systems and methods|
JP2015513378A|2012-11-21|2015-05-11|ナント ホールディングス アイピー,エルエルシー|Subscription bill service, system and method|
US8688661B2|2012-06-15|2014-04-01|International Business Machines Corporation|Transactional processing|
US9553982B2|2013-07-06|2017-01-24|Newvoicemedia, Ltd.|System and methods for tamper proof interaction recording and timestamping|
CN104715309A|2013-12-11|2015-06-17|阿里巴巴集团控股有限公司|Service control method and device|
JP6247193B2|2014-10-10|2017-12-13|山下 健一|Advertisement browsing promotion system, information processing method and program|
JP2016151802A|2015-02-16|2016-08-22|科韻動力有限公司|Management method for virtual currency, virtual currency system, advertisement method in virtual currency system, and application program|
US9967334B2|2015-03-02|2018-05-08|Dell Products Lp|Computing device configuration and management using a secure decentralized transaction ledger|
US9967333B2|2015-03-02|2018-05-08|Dell Products Lp|Deferred configuration or instruction execution using a secure distributed transaction ledger|
CN106296243A|2015-05-22|2017-01-04|阿里巴巴集团控股有限公司|Service implementation method and device|
KR101628624B1|2015-06-01|2016-06-09|주식회사 코인플러그|System and method for global remittance service based on the bitcoin|
CN106301881B|2015-06-29|2020-01-03|阿里巴巴集团控股有限公司|Service processing method and device|
US20170011460A1|2015-07-09|2017-01-12|Ouisa, LLC|Systems and methods for trading, clearing and settling securities transactions using blockchain technology|
KR101637854B1|2015-10-16|2016-07-08|주식회사 코인플러그|Certificate issuance system and method based on block chain, certificate authentication system and method based on block chain|
KR20180095912A|2015-12-21|2018-08-28|코차바 인크.|Self-regulated trading system and method|
CN105608588A|2016-01-04|2016-05-25|布比(北京)网络技术有限公司|Tracing record processing method and apparatus|
US10108812B2|2016-01-28|2018-10-23|Nasdaq, Inc.|Systems and methods for securing and disseminating time sensitive information using a blockchain|
WO2017136643A1|2016-02-03|2017-08-10|Luther Systems|System and method for secure management of digital contracts|
US10129238B2|2016-02-10|2018-11-13|Bank Of America Corporation|System for control of secure access and communication with different process data networks with separate security features|
US10142312B2|2016-02-22|2018-11-27|Bank Of America Corporation|System for establishing secure access for users in a process data network|
US20170264428A1|2016-03-08|2017-09-14|Manifold Technology, Inc.|Data storage system with blockchain technology|
WO2017173399A1|2016-03-31|2017-10-05|Clause, Inc.|System and method for creating and executing data-driven legal contracts|
EP3437048B1|2016-04-01|2021-06-09|ConsenSys Software Inc.|Systems and methods for providing data privacy in a private distributed ledger|
US10803537B2|2016-04-18|2020-10-13|R3 Ltd.|System and method for managing transactions in dynamic digital documents|
US10810583B2|2016-04-29|2020-10-20|Digital Asset Holdings|Digital asset modeling|
CN106230808A|2016-07-28|2016-12-14|杭州云象网络技术有限公司|A kind of personal credit information system method based on block chain technology|
CN106296009A|2016-08-12|2017-01-04|中国银行股份有限公司|A kind of method for processing business and device|
CN106296200A|2016-08-13|2017-01-04|深圳市樊溪电子有限公司|Distributed photovoltaic electric power transaction platform based on block chain technology|
US10715331B2|2016-12-28|2020-07-14|MasterCard International Incorported|Method and system for providing validated, auditable, and immutable inputs to a smart contract|
CN107025559B|2017-01-26|2020-09-18|创新先进技术有限公司|Service processing method and device|CN107025559B|2017-01-26|2020-09-18|创新先进技术有限公司|Service processing method and device|
CN107562552A|2017-09-06|2018-01-09|深圳市中润四方信息技术有限公司|A kind of service message generation method and system|
CN107908656A|2017-10-13|2018-04-13|平安科技(深圳)有限公司|Increase channel method, application server and computer-readable recording medium|
CN107918863A|2017-10-19|2018-04-17|阿里巴巴集团控股有限公司|Preposition processing and collocation method, device and equipment based on financial product|
CN107807991B|2017-11-07|2020-05-12|泰康保险集团股份有限公司|Method and apparatus for processing blockchain data|
CN107943951B|2017-11-24|2020-08-11|中钞信用卡产业发展有限公司杭州区块链技术研究院|Method and system for retrieving block chain service information|
CN108073707B|2017-12-19|2022-01-25|银联商务股份有限公司|Financial business data updating method and device and computer readable storage medium|
CN108805550A|2018-04-27|2018-11-13|深圳市元征科技股份有限公司|A kind of pre-payment exchange management method and pre-payment trade management device|
CN108646983B|2018-05-08|2021-04-06|北京融链科技有限公司|Processing method and device for storing service data on block chain|
CN108696522A|2018-05-11|2018-10-23|北京奇虎科技有限公司|Task processing method, calculate node, block catenary system in a kind of block chain|
CN108769147B|2018-05-11|2021-12-31|北京奇虎科技有限公司|Workload proving method and device in shared computing based on super node|
CN108683667B|2018-05-16|2021-12-03|深圳市迅雷网络技术有限公司|Account protection method, device, system and storage medium|
CN108665253A|2018-05-18|2018-10-16|百度在线网络技术(北京)有限公司|A kind of data processing method, device, equipment and the storage medium of block chain network|
CN108897729A|2018-06-28|2018-11-27|中国建设银行股份有限公司|A kind of trading template sharing method, device, electronic equipment and storage medium|
CN109033206B|2018-06-29|2021-06-01|北京奇虎科技有限公司|Rule matching method, cloud server and rule matching system|
CN108961039A|2018-07-02|2018-12-07|阿里巴巴集团控股有限公司|Transaction processing method, apparatus and system|
CN109165221A|2018-08-16|2019-01-08|北京京东尚科信息技术有限公司|Date storage method, device, block chain node and the storage medium of block chain|
CN109151030B|2018-08-24|2021-07-27|中国电子科技集团公司信息科学研究院|Internet of things object distributed interaction system and method|
CN109285066B|2018-08-30|2020-12-08|福建省农村信用社联合社|Intelligent contract generating and executing method based on banking business flow|
CN109542602B|2018-11-20|2021-05-11|苏州朗润创新知识产权运营有限公司|Block chain-based distributed task processing method, device and system|
KR102184772B1|2018-11-28|2020-12-01|주식회사 파이랩테크놀로지|Automated Smart Contract Tagging System based on Tag Recommendation Model|
CN109508975A|2018-11-28|2019-03-22|阿里巴巴集团控股有限公司|Record and querying method, the device and electronic equipment of a kind of bill event by stages|
CN110046522A|2018-11-28|2019-07-23|阿里巴巴集团控股有限公司|Method for processing business and device, electronic equipment based on block chain|
CN109544078B|2018-11-29|2021-04-02|东莞市大易产业链服务有限公司|Cargo management method based on block chain technology|
CN109615516B|2018-12-05|2021-04-16|腾讯科技(深圳)有限公司|Resource transfer method, device, electronic equipment and storage medium|
CN110048846B|2018-12-12|2020-04-14|阿里巴巴集团控股有限公司|Signature verification method and system based on block chain intelligent contract|
CN109725985B|2018-12-28|2021-01-29|云宏信息科技股份有限公司|Management method and device of virtual machine template|
KR102289612B1|2019-04-12|2021-08-18|어드밴스드 뉴 테크놀로지스 씨오., 엘티디.|Parallel execution of transactions in a distributed ledger system|
CN111095325A|2019-04-12|2020-05-01|阿里巴巴集团控股有限公司|Parallel execution of transactions in a distributed ledger system|
CN110119480A|2019-05-23|2019-08-13|北京小米移动软件有限公司|Information processing method, device, equipment and storage medium|
CN110162564A|2019-05-30|2019-08-23|北京中电普华信息技术有限公司|Business data processing method and system|
CN110473082A|2019-08-15|2019-11-19|中国银行股份有限公司|Subject processing method and system based on label and decision tree|
US10915578B1|2019-09-06|2021-02-09|Digital Asset Capital, Inc.|Graph outcome determination in domain-specific execution environment|
US11132403B2|2019-09-06|2021-09-28|Digital Asset Capital, Inc.|Graph-manipulation based domain-specific execution environment|
CN110688634B|2019-09-19|2021-09-28|杭州云象网络技术有限公司|Intelligent execution method for alliance chain affairs|
CN110933163B|2019-11-27|2021-08-24|腾讯科技(深圳)有限公司|Block chain contract deployment method, device, equipment and storage medium|
CN112153057A|2019-11-27|2020-12-29|朱培培|Block chain-based data stream detection method and system|
WO2021125106A1|2019-12-19|2021-06-24|パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ|Control method, device, and program|
US11003433B1|2020-02-05|2021-05-11|Dell Products L.P.|System and method for improved peer-to-peer software distribution|
CN111401903B|2020-06-03|2020-09-11|腾讯科技(深圳)有限公司|Block chain message processing method, device, computer and readable storage medium|
CN111737324B|2020-08-14|2021-02-09|支付宝信息技术有限公司|Data analysis method and device|
CN112200578A|2020-09-23|2021-01-08|裴俊伟|Financial service checking method and financial service checking platform based on block chain|
CN112613877B|2020-12-17|2021-12-07|腾讯科技(深圳)有限公司|Intelligent contract triggering method and device applied to block chain network and related equipment|
CN112286643B|2020-12-24|2021-04-20|北京百度网讯科技有限公司|Transaction processing method, device, equipment and medium for Ether house virtual machine|
CN112990769A|2021-04-21|2021-06-18|北京宇信科技集团股份有限公司|Service processing method and device, electronic equipment and storage medium|
法律状态:
2021-05-04| B25A| Requested transfer of rights approved|Owner name: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD. (KY) |
2021-05-25| B25A| Requested transfer of rights approved|Owner name: ADVANCED NEW TECHNOLOGIES CO., LTD. (KY) |
2021-10-13| B350| Update of information on the portal [chapter 15.35 patent gazette]|
优先权:
申请号 | 申请日 | 专利标题
CN201710057243.2|2017-01-26|
CN201710057243.2A|CN107025559B|2017-01-26|2017-01-26|Service processing method and device|
PCT/CN2018/073395|WO2018137564A1|2017-01-26|2018-01-19|Service processing method and apparatus|
[返回顶部]